Mac OS 8.5 Technote: Part XLII

Copyright 1998 by Apple Computer, Inc. All Rights Reserved.

[Previous section] [Mac OS 8.5 Contents Page] [Next section]

Inside the System File (Continued)

Text Services Manager 1.5

The Text Services Manager provides facilities for applications to communicate with various text processing utilities that provide services such as special text input methods, spell checking, hyphenation, etc.
  • The Text Services Manager (TSM) has removed the restriction of input methods and text services to Japanese, Korean, and Chinese (Traditional and Simplified) scripts, and now supports input methods in all scripts such as Roman, Indic, and Thai.

  • Keyboards and input methods can now generate Unicode directly. Applications that support TSM and create Unicode TSM Documents with the new interface type kUnicodeDocument can receive all input as arbitrary-length Unicode text directly via Apple events. Unicode text in TSM Apple events is always contained in a descriptor with AEKeyword keyAETheData, DescType typeUnicodeText. Apple events with AEEventID kUpdateActiveInputArea continue to be used for input processed by an Input Method. The new AEEventID kUnicodeNotFromInputMethod is used for any other type of input, such as when the input source is a keyboard layout (Unicode or otherwise) or when an input method does not handle a key event. This Apple event also contains the original low-level key event record as AEKeyword keyAETSMEventRecord and DescType typeLowLevelEventRecord, so that most key event processing formerly done in an application's event loop can now be performed in the application's Apple event handlers.

  • For compatibility, text is converted between Unicode and Mac OS encodings as necessary. Text from Unicode input sources is automatically converted to Mac encodings for delivery to applications that don't use Unicode TSM Documents; text from Mac OS encoding input sources is converted to Unicode for delivery to applications using Unicode TSM Documents. Similarly, application text requested by an input method (with the kGetSelectedText Apple event) is converted as necessary.

  • TSM calls the new Input Method API UCTextServiceEvent instead of TextServiceEvent when when sending input text to a Unicode input method.

  • TSM has absorbed functionality previously available as TSM trap patches, and itself no longer installs patches.

  • TSM has been modified to support optional font and keyboard synchronization. If the smfDisableKeyScriptSync flag is set in the smGenFlags Script Manager variable, calls to ActivateTSMDocument will not synchronize the current keyboard script with the internal keyboard script state of the TSMDocument. The ActivateTSMDocument call is the only TSM call that calls through to KeyScript. For more information about optional font and keyboard synchronization, see the Script Manager section.

    Related Materials:

Time Manager

The Time Manager provides millisecond and microsecond timing facilities for Mac OS based computers.
  • The Time Manager will now return an error if PrimeTime is called after RmvTime was called.

COMPATIBILITY NOTE
The current C and Pascal Time Manager APIs do not return the result from InsTime, InsXTime, PrimeTime and RmvTime. The result from Time Manager functions is returned in the 68K register D0. Simple 68K inline or PowerPC Mixed Mode glue code can be used to call those Time Manager functions and get their results.

[Previous section] [Mac OS 8.5 Contents Page] [Next section]

To contact us, please use the Contact Us page.